import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { MdlModule } from '@angular-mdl/core';
import {
    InputTextModule, DataScrollerModule, EditorModule, ConfirmDialogModule, TabViewModule,
    AutoCompleteModule, TreeModule, GrowlModule, FileUploadModule, SplitButtonModule,PanelMenuModule,MenubarModule
} from 'primeng/primeng';
import { DialogService } from 'primeng/primeng'
import { MathCeilPipe } from 'app/common/pipe/math-ceil.pipe';
import { DynamicDialogModule } from 'primeng/dynamicdialog';
import { QkNoticeIconComponent } from '../component/notice/qknotice-icon.component';
import { QkToolbarComponent } from '../component/toolbar/qktoolbar.component';
import { QkLogoutComponent } from '../component/logout/logout.component';
import { QkWeatherComponent } from '../component/weather/weather.component';
import { QkProfileIconComponent } from '../component/profile/profile-icon.component';
import { QkPartSelectorComponent } from '../component/part/qkpart.component';
import { QkHumanSelectorComponent } from '../component/part/qkhuman-selector.component';
import { QkRoleSelectorComponent } from '../component/part/qkrole-selector.component';
import { QkUnitSelectorComponent } from '../component/part/qkunit-selector.component';
import { QkMapComponent } from '../component/map/qkmap.component';
import { QkMediaComponent } from '../component/media/qkmedia.component';
import { QkUtcDirective } from '../directive/quokka-utc.directive';
import { QkPermissionDirective } from '../directive/quokka-permission.directive';
import { DynamicAnchorsDirective } from '../directive/dynamic-anchors.directive';
@NgModule({
    imports: [
        FormsModule, CommonModule, MdlModule, ConfirmDialogModule, TabViewModule, TreeModule, FileUploadModule, PanelMenuModule, MenubarModule,
        InputTextModule, DataScrollerModule, EditorModule, AutoCompleteModule, GrowlModule, DynamicDialogModule, SplitButtonModule
    ],
    declarations: [
        QkNoticeIconComponent,
        QkProfileIconComponent,
        QkToolbarComponent,
        QkLogoutComponent,
        QkPartSelectorComponent,
        QkHumanSelectorComponent,
        QkUnitSelectorComponent,
        QkRoleSelectorComponent,
        QkWeatherComponent,
        QkMapComponent,
        QkUtcDirective,
        QkPermissionDirective,
        QkMediaComponent,
        MathCeilPipe,
        DynamicAnchorsDirective
    ],
    providers: [
        DialogService
    ],
    exports: [
        MathCeilPipe,
        QkNoticeIconComponent,
        QkToolbarComponent,
        QkLogoutComponent,
        QkWeatherComponent,
        QkProfileIconComponent,
        QkMapComponent,
        QkUtcDirective,
        QkPermissionDirective,
        QkMediaComponent,
        DynamicAnchorsDirective
    ],
    entryComponents: [
        QkPartSelectorComponent,
        QkMediaComponent
    ]
})
export class QkSharedModule { }
